/**
 * 
 */
package fr.gfi.agraf.vue.action.ajax;

import java.util.Date;
import java.util.List;

import com.opensymphony.xwork2.ActionSupport;

import fr.gfi.agraf.service.ITacheService;
import fr.gfi.agraf.utils.SpringFactory;
import fr.gfi.agraf.vue.bean.TacheDTO;

/**
 * @author Zakaria
 *
 */
public class AjaxGetListeTacheByDateSaisie extends ActionSupport {

	private static final String ERREUR_SAISIE_HIDDEN = "erreur.saisie.hidden";

	/**
	 * Généré par java
	 */
	private static final long serialVersionUID = 6632095110073490813L;

	private static String TACHE_SERVICE = "TacheService";

	private Date date;

	private Long idUtilisateur;

	private List<TacheDTO> listeTaches;

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.opensymphony.xwork2.ActionSupport#execute()
	 */
	@Override
	public String execute() throws Exception {
		final ITacheService tacheService = (ITacheService) SpringFactory.getApplicationContext().getBean(
				TACHE_SERVICE);
		listeTaches = tacheService.getListeTacheBySaisieDateAndUtilisateur(idUtilisateur, date);
		return SUCCESS;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see com.opensymphony.xwork2.ActionSupport#validate()
	 */
	@Override
	public void validate() {
		if(idUtilisateur==null || date==null){
			addActionError(ERREUR_SAISIE_HIDDEN);
		}
		super.validate();
	}

	/**
	 * @param date
	 *            the date to set
	 */
	public void setDate(final Date date) {
		this.date = date;
	}

	/**
	 * @param idUtilisateur
	 *            the idUtilisateur to set
	 */
	public void setIdUtilisateur(final Long idUtilisateur) {
		this.idUtilisateur = idUtilisateur;
	}

	/**
	 * @return the listeTaches
	 */
	public List<TacheDTO> getListeTaches() {
		return listeTaches;
	}

	/**
	 * @param listeTaches
	 *            the listeTaches to set
	 */
	public void setListeTaches(final List<TacheDTO> listeTaches) {
		this.listeTaches = listeTaches;
	}

}
